// 兼容用js
// 防止某些版本的某些方法错误导致的报错

/**
 * 隐藏导航栏，兼容低版本微信使用hideTabbar会报错
 */
let hideTabbar = () => {
  try {
    wx.hideTabBar({
      fail (err) {
        console.log('隐藏导航栏失败', err)
      }
    })
  } catch (error) {
    console.log('隐藏导航栏错误', error)
  }
}

/**
 * 兼容同步设置缓存失败的情况
 * @param {*} key 
 * @param {*} data 
 */
let setStorageSync = (key, data) => {
  try {
    wx.setStorageSync(key, data)
  } catch (error) {
    console.log('设置同步缓存失败', error)
    try {
      wx.setStorage({
        key,
        data
      })
    } catch (error) {
      console.log('设置同步/异步缓存失败')
    }
  }
}

/**
 * 兼容同步获取缓存失败的情况
 * @param {*} key 
 */
let getStorageSync = (key) => {
  let result = ''
  try {
    result = wx.getStorageSync(key)
  } catch (error) {
    console.log('获取同步缓存失败', error)
  }
  return result
}

/**
 * 兼容同步获取缓存失败的情况
 * @param {*} key 
 */
let removeStorageSync = (key) => {
  let result = ''
  try {
    result = wx.removeStorageSync(key)
  } catch (error) {
    console.log('删除同步缓存失败', error)
  }
  return result
}

export {
  hideTabbar,
  setStorageSync,
  getStorageSync,
  removeStorageSync
}